Improving Distributed Workload Performance by Sharing both CPU and Memory Resources
نویسندگان
چکیده
We develop and examine job migration policies by considering effective usage of global memory in addition to CPU load sharing in distributed systems. When a node is identified for lacking sufficient memory space to serve jobs, one or more jobs of the node will be migrated to remote nodes with low memory allocations. If the memory space is sufficiently large, the jobs will be scheduled by a CPU-based load sharing policy. Following the principle of sharing both CPU and memory resources, we present several load sharing alternatives. Our objective is to reduce the number of page faults caused by unbalanced memory allocations for jobs among distributed nodes, so that overall performance of a distributed system can be significantly improved. We have conducted trace-driven simulations to compare CPUbased load sharing policies with our policies. We show that our load sharing policies not only improve performance of memorybound jobs, but also maintain the same load sharing quality as the CPU-based policies for CPU-bound jobs. Regarding remote execution and preemptive migration strategies, our experiments indicate that a strategy selection in load sharing is dependent on the amount of memory demand of jobs — remote execution is more effective for memory-bound jobs, and preemptive migration is more effective for CPU-bound jobs. Our CPU-Memorybased policy using either high performance or high throughput approach and using the remote execution strategy performs the best for both CPU-bound and memory-bound jobs. This work is supported in part by the National Science Foundation under grants CCR-9400719 and CCR-9812187, and EIA-9977030, by the Air Force Office of Scientific Research under grant AFOSR-95-1-0215, and by Sun Microsystems under grant EDUE-NAFO-980405.
منابع مشابه
Incorporating Memory Resource Considerations into the Workload Distribution of Software DSM Systems
Conventional workload distribution schemes for software distributed shared memory (DSM) systems simply distribute the program threads in accordance with the CPU power of the individual processors or the data-sharing characteristics of the application. Although these schemes aim to minimize the program execution time by reducing the computation and communication costs, memory access costs also h...
متن کاملEffective Load Sharing on Heterogeneous Networks of Workstations
We consider networks of workstations which are not only timesharing, but also heterogeneous with a large variation in the computing power and memory capacities of different workstations. Many load sharing schemes mainly target sharing CPU resources, and have been intensively evaluated in homogeneous distributed environments. However, the penalties of data accesses and movement in modern compute...
متن کاملAdministration and Monitoring Service for Storage Virtualization in Grid Environments 107 Administration and Monitoring Service for Storage Virtualization in Grid Environments
A grid is collection of computers and storage resources maintained to serve the needs of some community (Foster et al., 2002). It addresses collaboration, data sharing, cycle sharing and other patterns of interaction that involve distributed resources. Actually, the de facto building block is for high performance storage systems. In grid context, the scale and the reliability have key issues as...
متن کاملPerformance Evaluation of Load Sharing Policies with PANTS on a Beowulf Cluster
Powerful, low-cost clusters of personal computers, such as Beowulf clusters, have fueled the potential for widespread distributed computation. While these Beowulf clusters typically have software that facilitates development of distributed applications, there is still a need for effective distributed computation that is transparent to the application programmer. The PANTS Application Node Trans...
متن کاملDynamic Load Sharing With Unknown Memory Demand of Jobs in Clustered Compute Farms
A compute farm is a pool of clustered workstations to provide high performance computing services for CPU-intensive, memory-intensive, and I/O active jobs. Existing load sharing schemes with memory considerations assume jobs’ memory demand sizes are known in advance or predictable based on users’ hints. This assumption can greatly simplify the designs and implementations of memory-centric schem...
متن کامل